<?php
    class Adapter_Auth_Doctrine2 implements Zend_Auth_Adapter_Interface
    {
        /**
         * Устанавливает емаил и пароль для аутентификации
         *
         * @return void
         */
        protected $_manager;
        protected $name, $id;
        protected $password;
        
        
        
        public function __construct($email, $password)
        {
           $this->email = $email;
           $this->password = $password;
           $this->_manager = new Managers\Users();
           $this->_managerInfo = new Managers\UserInfo();
           
        }

        /**
         * Выполняет попытку аутентификации
         *
         * @throws Zend_Auth_Adapter_Exception Если аутентификация не может быть выполнена
         * @return Zend_Auth_Result
         */
        public function authenticate()
        {
            
            $this->password;
            $query_result = $this->_manager->getUser($this->email, $this->password);
            $info = $this->_managerInfo->getOne($query_result['id']);
            
            $this->id = $query_result['id'];
            
            if($query_result){
               return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS,$query_result['id']);
            }
            else return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND,$query_result['id']);
        }
        
        public function getResultRowObject(){
            
            return array('id'=>$this->id, 'name'=>$info->getName());
        }
    }
?>
